package com.sdhs.projectschedule.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdhs.businessfile.domain.BusinessFile;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sdhs.common.annotation.Excel;
import lombok.Data;
import com.sdhs.common.core.domain.BaseEntity;

/**
 * 项目进度跟踪--回款跟踪子-回款填报对象 gc_progress_payment_collection_fill
 *
 * @author andong
 * @date 2025-03-18
 */
@Data
public class GcProgressPaymentCollectionFill extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 回款填报主键 */
    private Long id;

    /** 填报日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "回款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fillTime;

    /** 税率 */
    @Excel(name = "税率")
    private String taxRate;

    /** 本次回款（元） */
    @Excel(name = "本次回款", readConverterExp = "元")
    private BigDecimal paidBack;

    /** 本次回款比例 */
    @Excel(name = "本次回款比例")
    private BigDecimal paidBackProportion;

    /** 本次开票金额 */
    @Excel(name = "本次开票金额")
    private BigDecimal invoicedOut;

    /** 本次开票比例 */
    @Excel(name = "本次开票比例")
    private BigDecimal invoicedOutProportion;

    /** 开票时间 */
    @Excel(name = "开票时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date billingTime;

    /** 项目id */
    @Excel(name = "项目id")
    private Long projectId;

    /** 是否删除 */
    @Excel(name = "是否删除")
    private String isDelete;

    /*** 附件*/
    private List<BusinessFile> fileList;

    private String contractId;


    /** 已开票金额（不含税）{支付跟踪/回款跟踪} */
    private BigDecimal notInvoicedAmount;

    /** 未开发票金额（含税）{支付跟踪/回款跟踪}*/
    private BigDecimal uninvoicedAmount;

    /**未开发票比例{支付跟踪/回款跟踪}*/
    private BigDecimal proportionUnissuedInvoices;

    /**收入确认金额(收入类合同)*/
    private BigDecimal amountRevenueRecognized;

    /** 收入确认比例(收入类合同)*/
    private BigDecimal revenueRecognitionRatio;



    /**应收账款(收入类合同)*/
    private BigDecimal accountsReceivable;

    /**合同资产(收入类合同)*/
    private BigDecimal contractAssets;
    /**收入确认金额(不含税)(收入类合同)*/
    private BigDecimal notAmountRevenueRecognized;
}
